what are different features of a crud application